<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <script src="./js/demo.js" defer="defer"></script>
</head>

<body>
    <button id="btn">button</button>
    <script>
        //es3  
        //var 1.可以变量提升
        //    2.可以重新赋值，后面会覆盖掉前面
        //    3.全局作用域， 局部(函数)作用域
        //    4.不加var隐式全局变量

        //ES6  1.let    变量
        //       1.变量不可以提升  
        //       2.同一个变量名不可以命名多次；可以重新赋值；
        //       3.块级作用域 
        //       4.暂时性死区
        //     2.const  常量   不可变得量
        // let a = 10;
        // a = "hello";
        // console.log(a)

        // for (let i = 0; i < 5; i++) {
        //     setTimeout(function() {
        //         console.log(i)
        //     }, 1000)
        // }

        // const NBA = 10;
        // NBA = "HELLO";
        // console.log(NBA)

        //传址赋值
        // const A = {
        //     name: "xixi"
        // }

        // A.name = "haha";
        // console.log(A)

        // ++1  先自身+1，后运算；
        // 1++  先运算，后+1；

        // let a = 2;
        // let b = ++a + a++;
        //   3   3(4)
        // let b = ++a + a++ - ++a;

        // console.log(a, b); //a:5 b:1

        // let x = "" && 0;
        // console.log(x);


        //空字符串  0  NaN  null  undefined  =>false
        // console.log(Boolean(undefined))
        // true  第一个操作数 true 则取第二个操作数
        //                    false    第一个操作数

        // let x = "" || 0;
        // console.log(x)

        //1-100 求偶数和
        // let sum = 0;
        // for (let i = 1; i <= 100; i++) {
        //     if (i % 2 == 0) {
        //         sum += i
        //     }
        // }
        // console.log(sum)

        // let arr = [1, 2, 3];
        // console.log(Number(arr.valueOf()))
        // console.log(arr - 1);
        // console.log(arr + 1);

        // console.log(6 - 6 || 4 > 2 && 6)
        //isNaN() //是一种方法   是不是 不是一个数字

        // console.log(!isNaN("99"))
        // var result = false || "HELLO";
        // console.log(result);
        // console.log("hello" || null);
        // console.log(!null || undefined && 0);
        // var a1 = 10,
        //     a2 = 20;
        // console.log("a1 + a2 =" + a1 + a2);
        // console.log(+"6" + 7 + "1");

        // var flag = typeof c ? true : false;
        // console.log(flag)
        // var num = !isNaN("34") ? “yes” : ”no”;
        // console.log(num)
        // var a = 3,
        //     b = "3",
        //     c = 6;
        // console.log(a === b || (b < c && c > a));
        // var a = "js",
        //     b;
        // console.log(true && true)
        // var x = 10,
        //     y = 20;
        // console.log(typeof typeof(x + y));
        // var x = "5",
        //     y = 5,
        //     z = "hello";
        // console.log(0 && "hello")
        // var a = 3,
        //     b = "3",
        //     c = 6,
        //     d = a === b || (b < c && c > a);
        // console.log(c);

        //console.log(55 != "55") //值
        //console.log(55 !== "55") //值和类型
    </script>
</body>

</html>